跳到主要内容

FFmpeg的 _q API

· 阅读需 1 分钟
amass
一个正在躺平的板砖人

还记得刚开始使用FFmpeg的时候,一直对av_q2d()av_d2q()这样的函数,感到疑惑。一般在熟悉一个库的API时,最好能够从其API就能知道其意义,这样有助于我们理解以及记忆(当然我们自己设计API也是如此)。

今天在看FFmpeg DTS、PTS相关概念时,又看到了这两个函数,还是不明白其意思。最后在FFmpeg源码目录下的libavutil/rational.h看到了对_q的解释:

许多操作 AVRational 的函数都有后缀 _q,参考数学符号“ℚ”(Q),它表示所有有理数的集合。

那么上面的函数意义就很明了了,av_d2q()就是将AVRational转换为d(即double)类型。